#include "mainwindow.h"
#include "ui_mainwindow.h"

#include <QDebug>
#include <QFont>


MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //控件(组件)可以通过UI设计器及其属性选择菜单设置样式
    //也可以创建该控件的对象，对象调用相关函数设置控件的样式
    btn = new QPushButton("点我试试");
    btn->setGeometry(50, 50, 100, 100);
    btn->resize(50, 30);
    qDebug() << btn->text();
    btn->setText("点我");

    QFont f;
    f.setBold(true);
    btn->setFont(f);
    this->resize(500, 500);
    /*
     * ObjectTree：对象树
     * 一个控件一般都要设置父控件(容器)
     * 在对象树中，一般在父控件初始化时，创建子控件对象，并设置父控件对象
     * 在父控件销毁时，需要在父控件的析构函数中删除对象----也可以不写delete,系统也会默认销毁
     * 对象树的机制：
     * 父空间的析构函数会默认调用子空间的析构函数
     *
     */
//    ui->w1->setStyleSheet("background-color: red");
//    btn->setParent(ui->w1);

    mw = new MyWidget(this);
    btn->setParent(mw);
    mw->setGeometry(50, 50, 200, 100);
    mw->setMinimumSize(200, 100);
    mw->setMaximumSize(200, 100);
    mw->setStyleSheet("background-color: green");


//    btn->show();
    mw->show();
}

MainWindow::~MainWindow()
{
    qDebug() << "MainWindow析构";
    delete ui;
    delete btn;
    delete mw;
}

